草庐IT

UiPath 初探

全部标签

密码学之可证明安全初探

本文将简要介绍现代密码学中的一项关键技术:安全性证明.任何一个现代密码算法或协议都需要先经过完整的安全性证明,才能去讨论其理论和应用价值.如果一个密码方案无法做到可证明安全,那么它声称的各种能力都将只是空中楼阁.然而,刚开始阅读现代密码学论文的时候,很容易被其中占据了大量篇幅的安全性证明章节给吓住.因此本文将简单地对这一主题进行介绍,在保持简明的同时尽可能体现其核心逻辑.在阅读本文前,具备以下背景知识可极大提升阅读体验:现代密码学是一门什么样的学科?如何理解PPP问题,NPNPNP问题?现代密码学中的安全模型一般有哪些?安全性"证明"?与从小到大学习的各种数学证明类似,在密码学的安全性证明中,

一起玩儿物联网人工智能小车——09. ESP32 WROVER开发板组成、引脚功能初探

在拿到一个芯片、模组、功能模块或者开发板的时候,除了去网上搜索各种文档和教程之外,最重要的文档就是设计制造商所提供的datasheet文档了。datasheet直接翻译成中文就是数据表,通常指用于辅助硬件开发的资料工作表、数据手册、规格书、产品手册等。对于硬件开发者和相关软件开发者来说都是必备的文档资料。通过datasheet我们通常可以了解到该硬件的1.功能描述。2.电气特性。3.管脚的定义。4.封装图、尺寸图。5.原理图。6.典型应用等相关的技术资料。为我们了解和使用这个芯片提供了一定的帮助。基于ESP32系列芯片最常见的开发板就是ESP32-DevKitCV4开发板了,这是一个通用型基础

初探 Backstage:快速上手指南

坦白说,虽然我之前阅读过相关文档,但实际上从未亲自尝试运行Backstage。我一直有种感觉,Backstage不过是一个开发者门户而非开发者平台。上周在分享我对平台工程的理解后,朋友圈中有人提议我写一篇关于Backstage入门的文章。这激起了我的好奇心,我决定深入探究一下Backstage究竟是什么。Backstage简介Backstage是一个用于构建开发人员门户的开放平台,统一了所有基础设施工具、服务和文档,以创建端到端的简化开发环境,由Spotify开源并捐赠给CNCF。Backstage提供了开箱即用的几个核心功能:软件目录软件目录(SoftwareCatalog)是一个集中式系统

flutter底层架构初探

本文出处:​​​​​​​​​​​​​Flutter中文开发者网站 架构embedder嵌入层提供程序入口(其他原生应用也采用此方式),程序由此和底层操作系统协调(surface渲染、辅助功能和输入服务,管理事件循环队列)嵌入层在android采用java和c++编写,苹果系采用object-c和object-C++,Windows和linux是c++Engine引擎--核心采用C++编写,提供了flutter应用所需的原语,核心api的底层实现引擎将底层C++代码包装成Dart代码,通过 dart:ui 暴露给Flutter框架层补充:android和ios采用impeller渲染图形,其他平

数据库-分库分表初探

文章目录分库策略垂直切分垂直分库(专库专用)垂直分表(拆表)优点缺点水平(Sharding)切分水平分表库内分表分库分表优点缺点分表策略hash取模方案range范围区间取值方案映射表方案分库分表问题事务一致性问题跨节点关联查询跨节点分页、排序函数主键避重公共表分库分表工具分库后的查询问题数据迁移停机迁移(一般都不允许)不停机迁移上线TiDB分布式数据架构雪花算法(Snowflake)—唯一ID的生成和管理美团实践数据量在百万以里,可以通过Tina集从库、优化索引等提升性能数据量超过千万,为了减少数据库的负担,提升数据库响应速度,缩短查询时间,需要进行分库分表分库策略推荐:采用垂直分库&水平分

Python正则表达式Regular Expression初探

目录Regular匹配规则单字符匹配 数量匹配边界匹配 分组匹配贪婪与懒惰原版说明特殊字符转义序列模块方法函数说明匹配模式常用匹配规则1.匹配出所有整数2.匹配11位且13开头的整数RegularPython的re模块提供了完整的正则表达式功能。正则表达式(RegularExpression)是一种强大的文本模式匹配工具,它能高效地进行查找、替换、分割等复杂字符串操作。在Python中,通过 import re 即可引入这一神器。匹配规则单字符匹配语法功能注意事项.匹配除换行符(\n)以外,任意一个字符。\.匹配点本身[]匹配[]中列举的字符,可以是很多单个,也可以范围范围写法例如[2-6],

【Linux取经路】初探进程地址空间

文章目录一、历史问题回顾二、语言层面的地址空间2.1验证三、虚拟地址的引入3.1初步解释这种现象——引入地址空间的概念3.2再来粗粒度理解上面的现象四、细节解释4.1地址空间究竟是什么?4.2为什么要有地址空间4.3页表4.3.1CR3寄存器4.3.2页表是由页表项组成的4.3.3缺页中断五、结语一、历史问题回顾之前在介绍fork函数的时候说过该函数返回了两次,至于为什么会返回两次,以及fork函数是如何做到返回两次的,在【Linux取经路】揭秘进程的父与子一文中已经做了详细的解释,忘了小伙伴可以点回去看看。在解释一个变量怎么会有两个不同值的时候,当时的说法是由于进程具有独立性,所以子进程把把

FPGA之初探

FPGA的构成基本逻辑单元CLB      CLB是FPGA的基本逻辑单元,一个CLB包括了2个Slices,所以知道Slices的数量就可以知道FPGA的“大概”逻辑资源容量了。一个Slice等于4个6输入LUT+8个触发器(flip-flop)+算数运算逻辑,每个Slice的4个触发器(虽然有8个flip-flop,但是每个LUT分配一个flip-flop)可以配置成锁存器,这样会有4个触发器(flip-flop)未被使用。对于CLB来说,里面的Slice有2种类型。一种是SLICEL,另外一种是SLICEM.SLICEM的功能更强大,SLICEM可以当作分布式RAM或者ROM,或者实现移

【Uipath】GenericValue类型变量用法。

GenericValue变量是一种可以存储任何类型数据的变量,可以叫做泛型,包括文本、数字、日期和数组,它是UiPathStudio特有的。为了执行某些操作,GenericValue变量会自动转换为其他类型。但是,小心地使用这些类型的变量是很重要的,因为它们的转换对于您的项目可能并不总是正确的。举个例子:比如你定义两个GenericValue类型,如图: 情况一:int如果写在前面,最后Result返回的是整型相加的结果。    情况二:str如果写在前面,最后Result返回的是字符串拼接的结果。     这意味着UiPathStudio将表达式中定义的第一个元素作为执行操作的准则。如果表达

【Uipath RPA Developer Foundation】Data Manipulation笔记

一、变量创建变量有三种方式FromtheVariablespanel –OpentheVariablespanel,selectthe‘CreatenewVariable’option,andfillinthefieldsasneeded.Whenyouneedit,provideitsnameintheDesignerpanelorinthedesiredPropertiesfield.FromtheDesignerpanel –Draganactivitywithavariablefieldvisible(i.e.‘Assign’)andpressCtrl+K.Nameitandthenc